Zacher Tiburzi
NATCAR Autonomous Vehicle Project
Group of 3, September 2015 - May 2016
Hardware & Embedded: Eliseo Campos
Hardware: Surender Singh
Embedded & Algorithm: Me

The NATCAR project consisted of programing a NXP kl25z micro-controller so it could control a car on two different track types. One car was 1/18th size with differential motors and another was 1/10th with a ball differential.

We programing a NXP micro-controller to trigger and capture ADC conversions on two 128 pixel line scan cameras using a periodic timer, and used PWM signals control two motors and a servo. The algorithm took the slopes at each pixel, then using a moving average threshold we isolated peak slope locations (i.e. the tape edges) and put these indexes through a PD controller that controlled the servo and motors.

The NXP track had two black lines to follow and allowed a commercial motor control board. The NATCAR track had one white line to follow. It also required a custom PCB for motor control and we used a hBridge circuit as our design.

Videos below show the car during test sessions. On the single line track the car reached an average of 8.4 feet per second.

natcar
embedded code
cars in a row
car track
car track
car track
car track